A service level agreement (SLA) is an agreement between a user and a cloud network provider. The user, for example, a company, is associated with a plurality of end users of a cloud-based network provided by the cloud network provider. The SLA specifies that the cloud network provider agrees to commit an amount of resources associated with virtual machines in the cloud network for use by the end users during operation of software products and applications. In return, the user can be charged a specified rate in proportion to the amount of committed resources. For example, in the SLA, the cloud network provider can commit to provide or maintain a specific amount of server uptime, persistent storage, software application instantiation, network performance, cloud storage, support response time, and other elements. Further, the SLA can detail any remedies or adjustments for any service failure associated with the use of the resources in the cloud network. Vendors to the user, such as independent software vendors (ISVs), can allow their software products and applications to be executed and operated by the end users via the virtual machines in the cloud network.
The SLA, however, does not account for peak or low usage times, an increase in the number of end users operating the virtual machines, and other situations that can cause the usage of the resources in the cloud network to fluctuate. For example, there can be times or situations in which the user can be forced to pay for on-demand service if the resource usage exceeds what is specified in the agreement. Further, there can be times or situations for which a segment of the resources in the cloud network can remain unused by end users.
Therefore, it may be desirable to provide systems and methods for managing multi-level SLAs in cloud-based networks. In particular, it may be desirable to agree upon a resource commitment that can vary based on various factors or triggering events.